package com.orientechnologies.orient.test.database.speed;

import com.orientechnologies.orient.core.Orient;
import com.orientechnologies.orient.core.db.OrientDB;
import com.orientechnologies.orient.core.db.OrientDBConfig;
import com.orientechnologies.orient.core.db.document.ODatabaseDocument;
import com.orientechnologies.orient.core.record.impl.ODocument;
import com.orientechnologies.orient.core.tx.OTransaction.TXTYPE;
import com.orientechnologies.orient.core.util.OURLConnection;
import com.orientechnologies.orient.core.util.OURLHelper;

public class FullTextIndexerTest {
  private static final int DOCUMENTS = 1000;

  public static void main(String[] iArgs) throws InstantiationException, IllegalAccessException {
    Orient.instance().getProfiler().startRecording();
    String url = System.getProperty("url");
    OURLConnection conn = OURLHelper.parse(url);
    OrientDB context =
        new OrientDB(
            conn.getType() + ":" + conn.getPath(), "root", "root", OrientDBConfig.defaultConfig());

    final ODatabaseDocument database = context.open(conn.getDbName(), "admin", "admin");

    database.begin(TXTYPE.NOTX);

    long time = System.currentTimeMillis();

    final ODocument document = new ODocument("Employee");
    for (int i = 0; i < DOCUMENTS; ++i) {
      document.reset();
      document.field("name", "Jay");
      document.field("surname", "Miner");
      document.field(
          "description",
          "Jay Glenn Miner (May 31, 1932 to June 20, 1994), was a famous integrated circuit"
              + " designer, known primarily for his work in multimedia chips and as the 'father of"
              + " the Amiga'[1]. He received a BS in EECS from UC Berkeley in 1959. Miner started"
              + " in the electronics industry with a number of designs in the medical world,"
              + " including a remote-control pacemaker. He moved to Atari in the late 1970s. One of"
              + " his first successes was to combine an entire breadboard of components into a"
              + " single chip, known as the TIA. The TIA was the display hardware for the Atari"
              + " 2600, which would go on to sell millions. After working on the TIA he headed up"
              + " the design of the follow-on chip set that would go on to be the basis of the"
              + " Atari 8-bit family of home computers, known as ANTIC and CTIA. In the early 1980s"
              + " Jay, along with other Atari staffers, had become fed up with management and"
              + " decamped. They set up another chipset project under a new company in Santa Clara,"
              + " called Hi-Toro (later renamed to Amiga Corporation), where they could have some"
              + " creative freedom. There, they started to create a new Motorola 68000-based games"
              + " console, codenamed Lorraine, that could be upgraded to a computer. To raise money"
              + " for the Lorraine project, Amiga Corp. designed and sold joysticks and game"
              + " cartridges for popular game consoles such as the Atari 2600 and ColecoVision, as"
              + " well as an odd input device called the Joyboard, essentially a joystick the"
              + " player stood on. Atari continued to be interested in the team's efforts"
              + " throughout this period, and funded them with $500,000 in capital in return for"
              + " first use of their resulting chipset. The Amiga crew, having continuing serious"
              + " financial problems, had sought more monetary support from investors that entire"
              + " Spring. Amiga entered in to discussions with Commodore. The discussions"
              + " ultimately led to Commodore wanting to purchase Amiga outright, which would (from"
              + " Commodore's viewpoint) cancel any outstanding contracts - including Atari Inc.'s."
              + " So instead of Amiga delivering the chipset, Commodore delivered a check of"
              + " $500,000 to Atari on Amiga's behalf, in effect returning the funds invested into"
              + " Amiga for completion of the Lorraine chipset. The original Amiga (1985) Jay"
              + " worked at Commodore-Amiga for several years, in Los Gatos (CA). They made good"
              + " progress at the beginning, but as Commodore management changed, they became"
              + " marginalised and the original Amiga staff was fired or left out on a one-by-one"
              + " basis, until the entire Los Gatos office was closed. Miner later worked as a"
              + " consultant for Commodore until it went bankrupt. He was known as the 'Padre'"
              + " (father) of the Amiga among Amiga users. Jay always took his dog 'Mitchy' (a"
              + " cockapoo) with him wherever he went. While he worked at Atari, Mitchy even had"
              + " her own ID-badge, and Mitchy's paw print is visible on the inside of the Amiga"
              + " 1000 top cover, alongside the signatures of the engineers who worked on it. Jay"
              + " endured kidney problems for most of his life, according to his wife, and relied"
              + " on dialysis. His sister donated one of her own. Miner died due to complications"
              + " from kidney failure at the age of 62, just two months after Commodore declared"
              + " bankruptcy.");
      database.save(document);
    }

    long lap = System.currentTimeMillis();

    System.out.println(
        "\nIndexed " + DOCUMENTS + " documents in " + ((lap - time) / 1000f) + " sec.");

    database.close();
    context.close();
  }
}
